package jmine.tec.services.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Use esta anotação no método que executa a lógica do serviço. O método pode ter parâmetros anotados com {@link Parameter} para indicar
 * propriedades requeridas ou @Injected para indicar outros servicos injetados. Se o método devolver algo e estiver anotado com
 * {@link Output}, o objeto estará disponível para outros serviços.
 */
@Documented
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Execution {
    // empty
}
